Programmable and Scalable Software - Defined Networking Controllers
نویسنده
چکیده
Programmable and Scalable Software-Defined Networking Controllers Andreas Richard Voellmy 2014 A major recent development in computer networking is the notion of Software-Defined Networking (SDN), which allows a network to customize its behaviors through centralized policies at a conceptually centralized network controller. The SDN architecture replaces closed, vertically-integrated, and fixed-function appliances with generalpurpose packet processing devices, programmed through open, vendor-neutral APIs by control software executing on centralized servers. This open design exposes the capabilities of network devices and provides consumers with increased flexibility. Although several elements of the SDN architecture, notably the OpenFlow standards, have been developed, writing an SDN controller remains highly difficult. Existing programming frameworks require either explicit or restricted declarative specification of flow patterns and provide little support for maintaining consistency between controller and distributed switch state, thereby introducing a major source of complexity in SDN programming. In this dissertation, we demonstrate that it is feasible to use arguably the simplest possible programming model for centralized SDN policies, in which the programmer specifies the forwarding behavior of a network by defining a packet-processing function as an ordinary algorithm in a general-purpose language. This function, which we call an algorithmic policy, is conceptually executed on every packet in the network and has access to centralized network and policy state. This programming model eliminates the complex and performance-critical task of generating and maintaining sets of rules on individual, distributed switches. To implement algorithmic policies efficiently, we introduce Maple, an SDN programming framework that can be embedded into any programming language with appropriate support. We have implemented Maple in both Java and Haskell, including an optimizing compiler and runtime system with three novel components. First, Maple’s optimizer automatically discovers reusable forwarding decisions from a generic running control program. Specifically, the optimizer observes algorithm execution traces, organizes these traces to develop a partial decision tree for the algorithm, called a trace tree, and incrementally compiles these trace trees into optimized flow tables for distributed switches. Second, Maple introduces state dependency localization and fast repair techniques to efficiently maintain consistency between algorithmic policy and distributed flow tables. Third, Maple includes the McNettle OpenFlow network controller that efficiently executes user-defined OpenFlow event handlers written in Haskell on multicore CPUs, supporting the execution of algorithmic policies that require the central controller to process many packets. Through efficient message processing and enhancements to the Glasgow Haskell Compiler runtime system, McNettle network controllers can scale to handle over 20 million OpenFlow events per second on 40 CPU cores. Programmable and Scalable Software-Defined Networking Controllers A Dissertation Presented to the Faculty of the Graduate School of Yale University in Candidacy for the Degree of Doctor of Philosophy by Andreas Richard Voellmy Dissertation Directors: Paul Hudak & Y. Richard Yang
منابع مشابه
Software Driven Cloud Networking
Arista Networks, the leader in high-speed, highly programmable data center switching, has outlined a number of guiding principles for integration with Software Defined Networking (SDN) technologies, including controllers, hypervisors, cloud orchestration middleware, and customized flow-based forwarding agents. These guiding principles leverage proven, scalable, and standards-based control and d...
متن کاملSoftware-Defined Network Testbed Using ZodiacFX a Hardware Switch for OpenFlow
Software-defined network (SDN) is a new programmable networking designed to perform tasks easier by enabling network administrators to add network control via a centralized control platform and open interfaces. Common network use procedures such as traffic shifts, troubleshooting and various types of device configuration. Thus devices are needed to reconfigure with the network, in order to crea...
متن کاملA rule-based evaluation of ladder logic diagram and timed petri nets for programmable logic controllers
This paper describes an evaluation through a case study by measuring a rule-based approach, which proposed for ladder logic diagrams and Petri nets. In the beginning, programmable logic controllers were widely designed by ladder logic diagrams. When complexity and functionality of manufacturing systems increases, developing their software is becoming more difficult. Thus, Petri nets as a high l...
متن کاملVFP: A Virtual Switch Platform for Host SDN in the Public Cloud
Many modern scalable cloud networking architectures rely on host networking for implementing VM network policy e.g. tunneling for virtual networks, NAT for load balancing, stateful ACLs, QoS, and more. We present the Virtual Filtering Platform (VFP) a programmable virtual switch that powers Microsoft Azure, a large public cloud, and provides this policy. We define several major goals for a prog...
متن کاملImpact of Next-Generation I/O Architectures on the Design and Performance of Network Servers
The increasing demand for scalable and highly-available network services has challenged computer architects to develop new I/O architecture for servers. The recently released InfiniBand industry standard, for instance, provides scalable bandwidth and protected I/O communication using the memory-mapped communication model and a channelbased switched fabric technology. Advanced device controllers...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2014